import axios from "./axios";
// getData.js
export const getData2 = () => {
  return axios.get("http://www.dell-lee.com/react/api/demo.json");
};

// jest.test.js
// test("getData 返回结果为 { success: true }", () => {
//   // 使用 promise 时需要 return，在 then 中使用 done 也可以
//   return getData2().then((res) => {
//     expect(res.data).toEqual({
//       success: true,
//     });
//   });
// });

// 测试请求是否 404
// test("getData 返回结果为 404", () => {
//   // 由于不触发 catch 就不会走测试校验，所以会成功，我们需要做一下限制
//   // 这行代码限制下面的代码中必须要执行一次 expect 方法，如果非 404 就不会走下面的 expect，则测试不会通过
//   expect.assertions(1);
//   // 使用 promise 时需要 return
//   // 如果只想测试 404 这样写是有问题的，需要配合 assertions 使用
//   return getData2().catch((err) => {
//     expect(err.toString().indexOf("404") > -1).toBe(true);
//   });
// });

// 另一种写法
// test("getData 返回结果为 { success: true }", () => {
//   // 会返回很多数据，其中包含 data 对象
//   // getData2().then((res) => console.log(res))
//   // {
//   //   status: 200,
//   //   statusText: 'OK',
//   //   headers: {},
//   //   ......
//   //   data: { success: true }
//   // }
//   // resolves 方法会将接口返回的字段全部获取，再使用 toMatchObject 方法进行匹配大对象中是否存在 data 对象
//   return expect(getData2()).resolves.toMatchObject({
//     data: {
//       success: true,
//     },
//   });
// });

// 还可以使用 async/await
// test("getData 返回结果为 { success: true }", async () => {
//   await expect(getData2()).resolves.toMatchObject({
//     data: {
//       success: true,
//     },
//   });
// });
